package entidades;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

import org.hibernate.validator.NotNull;

/**
 * Entidade Perfil.
 * 
 * @author Lino Bordin e Lucas Pessoa
 *
 */
@Entity
@Table(name = "perfil", uniqueConstraints= @UniqueConstraint(columnNames = {"acronimo", "nome"}))
public class Perfil {

	@Column(name = "nome", length = 64)//obrigatorio
	@NotNull
	private String nome;
	
	@Column(name = "acronimo", length = 5)//obrigatorio
	@NotNull
	private String acronimo;
	
	@Id
	@Column(name = "idPerfil")
	private Integer idPerfil;

	/* --------------- Metodos Acessores "Getter's & Setter's" ------------------ */
	
	/**
	 * Retorna o nome do Perfil.
	 * @return nome do perfil.
	 * 
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * Define o nome do Perfil.
	 * @param String nome a ser definido pro perfil.
	 * 
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * Retorna o acronimo do Perfil.
	 * @return acronimo do perfil.
	 * 
	 */
	public String getAcronimo() {
		return acronimo;
	}

	/**
	 * Define o acronimo do Perfil.
	 * @param String acronimo a ser definido pro perfil.
	 * 
	 */
	public void setAcronimo(String acronimo) {
		this.acronimo = acronimo;
	}

	/**
	 * Retorna o ID do Perfil.
	 * @return ID do perfil.
	 * 
	 */
	public int getIdPerfil() {
		return idPerfil;
	}

	/**
	 * Define o ID do Perfil.
	 * @param int ID a ser definido pro perfil.
	 * 
	 */
	public void setIdPerfil(int idPerfil) {
		this.idPerfil = idPerfil;
	}
	
}
